#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct student {
	char id[20];
	char name[20];
	char sex[3];
};
//增加
int addstudent (struct student s[],int n)
{
	printf("请输入学生id：\n");
	fflush(stdin);
    gets(s[n].id);
	printf("请输入学生姓名：\n");
	fflush(stdin);
	gets(s[n].name);
	printf("请输入学生性别：\n");
	gets(s[n].sex);
	n++;
	return n;
}
//展示学生信息函数
void showstudent(struct student s[],int n)
{
	int i;
	for (i=0;i<n;i++)
	{
		printf("ID:%d \n 名字：%s \n 性别：%s\n",s[i].id,s[i].name,s[i].sex);
	}
}

int main(int argc, char *argv[]) {
	struct student s[1000];
	int numstudent =0;//学生数量初始化
	int select =0;
	while(1){
		printf("       欢迎进入系统         \n");
		printf("|--------------------------|\n");
		printf("|     1.增加学生信息       |\n");
		printf("|     2.删除学生信息       |\n");
		printf("|     3.修改学生信息       |\n");
		printf("|     4.展示学生信息       |\n");
		printf("|     0.退出系统           |\n");
		printf("|--------------------------|\n");
		printf("        请选择业务          \n");
		scanf("%d",&select);
		switch (select)
		{
			case 1:
				if(numstudent<1000){
					numstudent=addstudent(s,numstudent);
					printf("您已成功添加\n");
				}
				else{
					printf("学生信息已满，无法增加\n");
				}
				break;
			case 2:
			   if(numstudent>0){
			   	printf("请输入要删除的学生id：");
			   	int id;
			   	scanf("%d",&id);
			   	if(id>0&&id<=numstudent){
			   		for (int i=id-1;i<numstudent-1;i++){
			   			s[i]=s[i+1];
					   }
					   numstudent--;
					   printf("删除成功！\n");
				   }
				   else{
				   	printf("输入学号无效！\n");
				   }}
				   else{
				   	printf("NULL!\n");
				   }
			   
				break;
			case 3:
			 if(numstudent>0){
			 	printf("请输入要修改的学生学号：");
			 	int id;
			 	scanf("%d",&id);
			 	if(id>0&&id<=numstudent){
			 		addstudent(s,id-1);
				 }
				 else{
				 	printf("输入的学号无效\n");
				 }}
				 else {
				 	printf("NULL!\n");
				 }
			 
				break;
			case 4:
				if(numstudent>0){
				
					printf("所有学生信息如下：\n");
					for (int i=0;i<numstudent;i++){
						showstudent(s,i);
					}}
					else{
						printf("NULL!\n");
					}
				
				break;
			case 0:
				printf("程序已经退出！\n");
				break;
			default:
				printf("您的选择有误，请重新选择\n");
		
}
}

	return 0;
}